package com.fulihui.wgj.admin.api.wxtemplate.request;

import com.fulihui.common.request.web.CommonRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author: Levon
 * @date: 2018-08-09 13:47
 */
@Getter
@Setter
@ApiModel("模板自动任务保存请求")
public class TemplateAutoTaskSaveRequest extends CommonRequest {

    @ApiModelProperty("主键id，修改时必传")
    private Long id;

    @ApiModelProperty("任务名称")
    private String taskName;

    @ApiModelProperty("状态，启用/禁用 true/fase")
    private Boolean status;

    @ApiModelProperty(value = "周期", hidden = true)
    private Integer cycle = 1;

    @ApiModelProperty("发送时间 HH:mm:ss")
    private String sendTime;

    @ApiModelProperty("模板跳转url")
    private String templateUrl;

    @ApiModelProperty("是否发送小程序(小程序支持预留，模板发送可不传)")
    private Boolean miniApp;

    @ApiModelProperty("小程序appId(小程序支持预留，模板发送可不传)")
    private String miniAppId;

    @ApiModelProperty("小程序url路径(小程序支持预留，模板发送可不传)")
    private String miniAppUrl;

    @ApiModelProperty("微信模板id")
    private String templateId;

    @ApiModelProperty("发送条件描述(前端拼接)")
    private String sendConditionDesc;

    @ApiModelProperty("模板内容")
    private String templateContent;

    @ApiModelProperty("记录类型 (0, \"SHOP\", \"电商\"),(1, \"GAME\", \"游戏\") 用于不同业务")
    private Integer logType;

    @ApiModelProperty("性别 1-男 2-女 0-未知 空-所有")
    private Long sex;

    @ApiModelProperty("性别  包含排除")
    private String sexTab;

    @ApiModelProperty("国家")
    private String country;

    @ApiModelProperty("国家包含排除")
    private String countryTab;

    @ApiModelProperty("省份/城市")
    private String province;

    @ApiModelProperty("省份/城市包含排除")
    private String provinceTab;

    @ApiModelProperty("操作系统")
    private String os;

    @ApiModelProperty("操作系统包含排除")
    private String osTab;

    @ApiModelProperty("是否点击链接")
    private String hasClickLink;

    @ApiModelProperty("是否点击链接包含排除")
    private String hasClickLinkTab;

    @ApiModelProperty("是否点击过小程序")
    private String hasClickMiniProgram;

    @ApiModelProperty("是否点击过小程序包含排除")
    private String hasClickMiniProgramTab;

    @ApiModelProperty("关注时间-前第几天")
    @NotNull(message = "关注时间-前第几天不能为空")
    private Integer subscribeTimeStart;

    @ApiModelProperty("关注时间-至前第几天")
    private Integer subscribeTimeEnd;

    @ApiModelProperty("是否开启有赞条件")
    private boolean openYouZan;

    @ApiModelProperty("有赞过滤条件-商品id")
    private List<Long> yzShopid;

    @ApiModelProperty("有赞过滤条件-订单时间状态" +
            "（WAIT_BUYER_PAY-下单时间，" +
            "WAIT_SELLER_SEND_GOODS-付款时间，" +
            "WAIT_BUYER_CONFIRM_GOODS-发货时间，" +
            "TRADE_BUYER_SIGNED-签收时间）")
    private String yzOrderState;

    @ApiModelProperty("有赞过滤条件-下单开始时间 yyyy-MM-dd HH:mm:ss")
    private String yzStartTime;

    @ApiModelProperty("有赞过滤条件-下单结束时间  yyyy-MM-dd HH:mm:ss")
    private String yzEndTime;

    @ApiModelProperty("游戏筛选条件（包含）")
    private SendGameContainRequest containRequest;

    @ApiModelProperty("游戏筛选条件（排除）")
    private SendGameEliminateRequest eliminateRequest;


}
